
const { Sequelize, DataTypes } = require("sequelize")

import { seq } from "../db"
//超级用户：boss 管理者：leader，普通人： farmer
import { Chat } from "./chat"
const roles = ["boss", "leader", "farmer"]
export const User = seq.define("user", {
  userName: {
    type: DataTypes.STRING,
    allowNull: false
  },
  password: {
    type: DataTypes.STRING,
    allowNull: false
  },
  nickName: {
    type: DataTypes.STRING
  },
  avatar: {
    type: DataTypes.TEXT,
    allowNull: true
  },
  role: {
    type: DataTypes.ENUM(),
    values: roles,
    allowNull: false,
    defaultValue: "farmer",
    comment: "超级用户：boss 管理者：leader，普通人： farmer"
  },
  status: {
    type: DataTypes.BOOLEAN,
    allowNull: false,
    defaultValue: true,
    comment: "true代表存在，false已删除"
  }
}, {
  freezeTableName: true
})

User.hasMany(Chat, {
  foreignKey: 'friend'
});
Chat.belongsTo(User);












// @Entity()
// export class User {
//   @PrimaryGeneratedColumn()
//   id: number;

//   @Column({
//     unique: true,
//     comment: "用户名，唯一"
//   })
//   userName: string;

//   @Column()
//   password: string;

//   @Column({
//     comment: "用户昵称",
//     nullable: true
//   })
//   nickName: string;

//   @Column({
//     comment: "用户头像，可以为空",
//     nullable: true
//   })
//   avatar: string;
// }